#include "Diana.hpp"

圣嘉然 嘉然小姐;
圣嘉然 &她 = 嘉然小姐;

int main(int argc, char const *argv[])
{
    // 定义代词
    auto 我 = 老鼠();
    auto &既不是狗也不是猫的我 = 我;
    auto &自己 = 我;
    auto &阴湿带病的老鼠 = 我;
    auto &我这老鼠 = 我;

    auto 所有人 = 人();
    auto 没有人 = 人();
    auto 大家 = 人();
    auto &这个集合 = 大家;
    auto 理解余裕上手天才打钱的萌萌的狗狗或者猫猫 = 嘉然小姐.的狗() | 嘉然小姐.的猫();

    auto &猫猫 = 嘉然小姐.的猫();
    auto &她喜欢的猫 = 猫猫;
    auto &她爱的猫猫 = 猫猫;
    auto &表演得非常温顺的橘猫 = 猫猫;

    auto 挂着的铃铛 = 铃铛();

    // 圣经开始

    我.好想做(嘉然小姐.的狗());
    /*可是*/嘉然小姐.说("她喜欢的是猫"); 我.哭了();
    我.知道(既不是狗也不是猫的我.为什么要哭()); // 因为我其实是一只老鼠。
    
    // 我.奢望(嘉然小姐.喜欢(自己));
    我.明白(所有人.都喜欢(理解余裕上手天才打钱的萌萌的狗狗或者猫猫) & 没有人.会喜欢(阴湿带病的老鼠));
    /*但*/ 我.问(嘉然小姐, "我能不能做你的狗？");

    我.知道("我是注定做不了狗的");
    /*但是*/如果(她.喜欢(狗()))
    {
        我.一直在身边看着(她);
        /*哪怕*/她.怀里抱着的是狗();
    }
    /*可是*/她.说("喜欢的是猫");

    她.还在().看着(我).还在().逗(我, "开心"); /*是因为*/猫().还没有出现();
    /*只有*/我这老鼠.每天蹑手蹑脚地从洞里爬出来().远远地和(她, "对视");
    等(她喜欢的猫.来了())
    {
        我.重新滚回(我.的洞());
    }

    /*但*/我.还是().好喜欢(她); //她能在我还在她身边的时候多看我几眼吗？

    嘉然小姐.说("接下来的每个圣诞夜都要和大家一起过");
    我.不知道("大家指哪些人"); 我.好希望(这个集合, "能够对我做一次胞吞");

    猫猫.还在().害怕(嘉然小姐);
    我.引来(她爱的猫猫);
    我.知道("稍有不慎，我就会葬身猫口");
    到时候
    {
        嘉然小姐.大概会().好好地装起来扔到门外(我.的身体());
    }
    [](const 老鼠 &){ return 鼠条(); }(我); // 嘻嘻
    我.希望(她, "能把我扔得近一点"); /*因为*/ 我.还是().好喜欢(她).会一直喜欢下去的();

    我.的灵魂().透过窗户向里面看去(); 挂着的铃铛.轻轻鸣响();
    嘉然小姐.慵懒地靠在沙发上(); 表演得非常温顺的橘猫.坐在(她.的肩膀());
    壁炉().的火光().照在(她.的脸庞()); 我.冻僵的心脏().在微风里("微微发烫");
    return 0;
}
